/*
 * $Id: port.c,v 1.1.2.3 Broadcom SDK $
 * $Copyright: Copyright 2011 Broadcom Corporation.
 * This program is the proprietary software of Broadcom Corporation
 * and/or its licensors, and may only be used, duplicated, modified
 * or distributed pursuant to the terms and conditions of a separate,
 * written license agreement executed between you and Broadcom
 * (an "Authorized License").  Except as set forth in an Authorized
 * License, Broadcom grants no license (express or implied), right
 * to use, or waiver of any kind with respect to the Software, and
 * Broadcom expressly reserves all rights in and to the Software
 * and all intellectual property rights therein.  IF YOU HAVE
 * NO AUTHORIZED LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS SOFTWARE
 * IN ANY WAY, AND SHOULD IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE
 * ALL USE OF THE SOFTWARE.  
 *  
 * Except as expressly set forth in the Authorized License,
 *  
 * 1.     This program, including its structure, sequence and organization,
 * constitutes the valuable trade secrets of Broadcom, and you shall use
 * all reasonable efforts to protect the confidentiality thereof,
 * and to use this information only in connection with your use of
 * Broadcom integrated circuit products.
 *  
 * 2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS
 * PROVIDED "AS IS" AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES,
 * REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY,
 * OR OTHERWISE, WITH RESPECT TO THE SOFTWARE.  BROADCOM SPECIFICALLY
 * DISCLAIMS ANY AND ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY,
 * NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES,
 * ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
 * CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING
 * OUT OF USE OR PERFORMANCE OF THE SOFTWARE.
 * 
 * 3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL
 * BROADCOM OR ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL,
 * INCIDENTAL, SPECIAL, INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER
 * ARISING OUT OF OR IN ANY WAY RELATING TO YOUR USE OF OR INABILITY
 * TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF
 * THE AMOUNT ACTUALLY PAID FOR THE SOFTWARE ITSELF OR USD 1.00,
 * WHICHEVER IS GREATER. THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING
 * ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.$
 *
 * File:        port.c
 * Purpose:     Functions to support CLI port commands
 * Requires:
 */

#include <sal/core/libc.h>
#include <sal/types.h>
#include <sal/appl/sal.h>
#include <sal/appl/io.h>
#include <sal/core/libc.h>

#include <assert.h>

#include <soc/debug.h>
#include <soc/phy.h>
#include <soc/phyctrl.h>

#include <appl/diag/shell.h>
#include <appl/diag/system.h>
#include <appl/diag/parse.h>
#include <appl/diag/diag.h>
#include <appl/diag/dport.h>

#include <bcm/init.h>
#include <bcm/port.h>
#include <bcm/stg.h>
#include <bcm/error.h>
#include <bcm/link.h>
#include <bcm/stat.h>
#include <bcm/igmp.h>
#include <bcm/cosq.h>
/*
 * Function:
 *  if_port
 * Purpose:
 *  Configure port specific parameters.
 * Parameters:
 *  u   - SOC unit #
 *  a   - pointer to args
 * Returns:
 *  CMD_OK/CMD_FAIL
 */
cmd_result_t
if_ea_port(int unit, args_t *a)
{
	return CMD_OK;
}


cmd_result_t
if_ea_linkscan(int unit, args_t *a)
{
	return CMD_OK;
}

char if_ea_port_control_usage[] =
    "Set/Display port control types.\n"
    "Parameters: <pbm> [type_name] [value]\n";
/*
 * Function:    if_ea_port_control
 * Purpose: Configure default IPG values.
 * Parameters:  unit - SOC unit #
 *      a - arguments
 * Returns: CMD_OK/CMD_FAIL
 */
cmd_result_t
if_ea_port_control(int unit, args_t *a)
{
	return CMD_OK;
}

char if_ea_port_cross_connect_usage[] =
    "Set/Display port cross connect information.\n"
    "Parameters: <port> <enable/disable> <egress_port>\n";
/*
 * Function:    if_ea_port_cross_connect
 * Purpose: Configure port cross connect values.
 * Parameters:  unit - SOC unit #
 *      a - arguments
 * Returns: CMD_OK/CMD_FAIL
 */
cmd_result_t
if_ea_port_cross_connect(int unit, args_t *a)
{
	return CMD_OK;
}

/*
 * Function:
 *  if_ea_port_rate
 * Purpose:
 *  Set/display of port rate metering characteristics
 * Parameters:
 *  unit - SOC unit #
 *  a - pointer to args
 * Returns:
 *  CMD_OK/CMD_FAIL
 */
cmd_result_t
if_ea_port_rate(int unit, args_t *a)
{
	return CMD_OK;
}

/*
 * Function:
 *      if_ea_port_samp_rate
 * Purpose:
 *      Set/display of sflow port sampling rates.
 * Parameters:
 *      unit - SOC unit #
 *      args - pointer to comand line arguments
 * Returns:
 *      CMD_OK/CMD_FAIL
 */
char if_ea_port_samp_rate_usage[] =
    "Set/Display port sampling rate characteristics.\n"
    "Parameters: <pbm> [ingress_rate] [egress_rate]\n"
    "\tOn average, every 1/ingress_rate packets will be sampled.\n"
    "\tA rate of 0 indicates no sampling.\n"
    "\tA rate of 1 indicates all packets sampled.\n";

cmd_result_t
if_ea_port_samp_rate(int unit, args_t *args)
{
	return CMD_OK;
}

/*
 * Function:
 *  if_port_stat
 * Purpose:
 *  Table display of port information
 * Parameters:
 *  unit - SOC unit #
 *  a - pointer to args
 * Returns:
 *  CMD_OK/CMD_FAIL
 */
cmd_result_t
if_ea_port_stat(int unit, args_t *a)
{
	return CMD_OK;
}
